#import listmanager
from __future__ import print_function
from lmdb import session
import lmdialogs
import re
import lmglobals as g

# this is a prototype plugin.  It actually works
# using the console of listmanager you...
# import clean_email
# clean_email.clean_email(self)
# and it works!

@g.update_xapiandb
@g.check_task_selected
@g.check_modified
def clean_email(lm):
    task = lm.task
    regex = re.compile("&lt;http.*?>",re.IGNORECASE|re.MULTILINE) #&lt;
    # the complete html tag regex </?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)/?>
    r = regex.search(task.note)
    if r:
        z = r.span()
        new_note = task.note[(z[1]+2):]
    else:
        print("Could not find http")
        new_note = task.note
    
    zz = new_note.find('_______________')
    if zz != - 1:
        new_note = new_note[:zz]
        
    new_note = new_note.strip(' _\n')
        
    dlg = lmdialogs.SynchResults("Revised Note", new_note, parent=lm, OkCancel=True)
    
    if dlg.exec_():
        task.note = new_note
        
        if task.title.find("FW:",0,3)==0 or task.title.find("Fwd:",0,4)==0:
            task.title = task.title[4:].strip()
            c = lm.col_order.index('title')
            item = lm.table.item(lm.index, c)
            item.setText(task.title)

        session.commit()
        
        
        lm.itemselected()
            
toolbar = True # not in use

function = clean_email

title = "Clean MaryEllen Email"

image = '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x16\x08\x06\x00\x00\x00\xc4\xb4l;\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x00\tpHYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x04\rIDAT8\x8d\x85\x95MlTU\x14\xc7\x7f\xe7\xce\x9b\x0f\x07u\x06\xadP\xc0\xda\'\r\x14\xd1\xda\xa9\xd1\x95!N\xdcHbL\xab\x12\xc4\xb8`\xba !a\xe1`4i\xe2f\xdc\xb1\x9c\x9d\xba1\xed\xae;\xcb\xc2@t3$*\x11\x14\xa71\xa9\r\x01\xf2\xa4\x01\x9aZ\xe8{\xd3\xcf\xf71\xef\xbaxo\xc6W\x89\xe1n\xee{\xb9\xe7\xfe\xee9\xf7\x7f\xcf9\xf2\xe7BK\x00\r<\x05d\x81{\x80\x02\x84h\xb4y\xf4\x10 \x95\xb0\x15CkR@\x0ex\x900\x0c\x1f\x01J\xc50#\xfew\x13k9\xa0\xd7\xd0\xe8\xe0\xbb\xabKk\x89\x85L\xbc!\x0f\xa4\x01\xff?\xd0\r`\x0b\xd8\xe9z\xa1\x13\xdbH6\xa3\x82x}\x13\xb8m|\xfb\xf3]\x0e\xef\xcb\xa7\x07\xcd\xa2\x9f\x08\xa7\x1d\x1b\xe8D\xa8\xc9o\x80Vl\x9f\x07\x9e\x03\xe6\x89\xae\x10 o\x04\x81\xc7\xcb\x07\xfb\xfc\xe5\x96\xd7\xd9\xb0+\x9e\xd7\x80\xc7\x13\xe1\xe5\x00;\xe1Uo\x0c\xbd\x06,\'\xae\xc8\x07B\xc3\xf3\x02\x0cQ(\x89\x0e\x9b\xbba\xdd\xdd\x16\xf8V\xe7\xc3\xe6\xff\xc6\xe1\x97J\x02\x14\xe3H}`\xdd\xf0<\x1f\xa5D\x10\xd1\xc4\xa2\x9d|kx\xfbN\x17\x9c\xc4Av\xe2\xbb:q\x96\xc3C#\xc4\xc0\xae\x88j\xcb\xf5QJ!\xa2DD\xa5\x92<\xc7\x85\xf1\xf1\xf1.\xd4\x9a\x9f\xa5Z\x1d\xc7j\xcev\x0f\xb0\xb7@D\xed\x15Q\xeb"*\x10\x89X\xcas]RJvD\x9a\xc8\xb6gf5g!\x07\xcd\x1849=Cu\xa2F\xb5Z\x89\xbc\xee^\x93d@R \x12s\xd2\xca\xf3\xfdBJ\xc9z$\xa8\xd2]\xaa\x0b\xb5z\x9dZ\xadN\xa5\x12\x81*\'*TOW(\xe6\x8a`;\t\x17\x94\x03\xaa\x1d\xedW\n\x94R^\xd0N\xa3\xd1\xa1\x86P\x93\xeex15=E\xb3\xd1`\xac\\\x06\xa0q\xf1<\xd5\x89*\xf5\xaff\xb0m\x1b\xdb\xb6!\x07\xa5C&\xa1&\x0c5\x85Pc\x86\x9a\x81P\xb3e\xb4\x03\x1f\xcf\x0f\xd8\xdc\xdc\xec\x8a\xe7\xb8P\xaf\xd7\xa9\x9d\xabQ\x1e;Ic\xe6<\xb5\x89*\xb5su\xaa\x951*\x13U,\xcb\x82E\x1b\xd3,q\xe1\x87\xef\xedgv\xef\xe7\xc5\x03\xfb\xfa\x88t\xce\x18A\xa8\xf1\xdbm#\x08\x826\xf0tG\xf3F\xe3\xf7\xae\xfa\xe5\xa3\xa34\x8e\x8eb\x03\x93\xe5Q,\xeb/,\xcbf\xaclR(\x14\xc0\x85\xa9\x99K\xfc\xf6\x87\xb70\xfcB\x9f\x01\x98\x06Z\x93M\x1b:\x9dJe\x81\x1e\x80\xca\xe9\xb3\xd8\x1da\xe2\xb9X\x04\xd34)\x1d*A\xae\xc8\xd8\xd1\x08\xea8\x0e\xf6\x16\x9c\xfc\xe0\r\xbe\xf8\xfa<\xe9\x94\x19\x02\xae!"-?\x08E\x94h`n\xff\x81\xa1\xcc\'\x9f\r\xe5\x81~\xe0\x0ep\x1fx\r\xb8\xba\xfc\xf7\x8an\xd9k]O\x1d\xc7\xc1Z\x04\xd3,p\xe9\x97Y\xe6\xae\xcd\xf1\xe6\x91#\xaf\x03?\x1aF\x94\x1cA\xfc\x86w\x01+D\xe9|\x03\xd8\x03\x14\x00oy\xe9\x81n-\xaem\xf3\xd4\xb2#h\xb39K\xb3iq\xfd\xf6uD\xd4e\x00#e\x18.\x1a\x94\x88GT:;\xd5l\x03\xb0\x80\xf4\xfd\xe5\x95Mgq\xf5ah\xef\xbf\xd0\x99F\x83\x8f\xcf\x9cA\x89\xb4\x01T\xdaPh@\x94hQ\x92\x12%DI(yQ\xd2\x16%\xfbn\xddq\xbaP\xe2lKB/\\\xbe\xcc\xf1w\xdfg\xf0\xe0\xc1\x8c(\xd9#J02\xe9,\x1aA)\xa5b\xa9:\xddc#\xf6|\rll\x1b\xacE\x07\xb3\x17\xfawGw\xda\xf1\xf4\xc4{\xc7(\x8d\x0c?OT\xed\\\x00#\x9b5\xa2\x14\x14\x15\x10\x15\xed\x1d\x89y\t\xd8?`\x0e09\xdd\xa0\xd8[\xa4\\.a\xcf\xc7\xd0\x8b\r>\xfc\xe88##\xc3\xfd\xc0^`\xa1\x93\x0b\xf2\xe9\x97?\xa93\xc7^\r\x1f\xac\xb5\xf3D\xf5t\x95\xa8\x83\x04\x80\t\xac\x03\x8f\xb5Z\xce`\xf3\xca\xaf\xa7fo\xde\x1c\x00^\xe9yb\'\xa3co?\x99\xcf\xe7W\x89\xbaN\x18\xcf\x1b\x00\xf2\xf97W2\xa7\xde)y\xf6\xc6C=\xb3\'\xce\xa2gcc\x89_\x89$l\x96\xa2\xa4\xda\xd6\xf3\xf2\xc0\xbd\x7f\x00\xd2\xef\xad\x93f\x81\x0f\x81\x00\x00\x00\x00IEND\xaeB`\x82'    

